import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)


/**
 *  Clase del zombie de tipo fuego
 * 
 * @author Andres Tovar Jaime
 * @version 1 30-nov-2012
 */
public class ZombieFuego extends Zombies
{
private int HP=200;
private Bala1 bala1;
private Bala2 bala2;
private Bala3 bala3;
    /**
     * Act - do whatever the ZombieHielo wants to do. This method is called whenever
     * the 'Act' or 'Run' button gets pressed in the environment.
     */
    public void act() 
    {
        super.act();
        meDisparo();
        checarVida();
       
    }    
    
     /**
     * Constructor de la clase zombieFuego
     */  
    public ZombieFuego(Jugador jugador)
    {
        super(jugador);
        
    }
    
    
    /**
     * Verifica la vida del zombie si es menor o igual a 0 se remueve del mundo
     */
    public void checarVida()
    {
        if(this.HP<=0)
        {
            World mundo=this.getWorld();
            mundo.removeObject(this);
        }
    }
    
    /**
     * (Metodo redefinido de la clase base Zombies)Checa si el zombie esta en contacto con una bala y calcula cuanta vida le baja dependiendo del tipo
     */
    public boolean meDisparo()
    {
        bala1=(Bala1)getOneIntersectingObject(Bala1.class);
        bala2=(Bala2)getOneIntersectingObject(Bala2.class);
        bala3=(Bala3)getOneIntersectingObject(Bala3.class);
        
        if(bala1!=null)
        {
            HP=HP-50;
            World mundo=this.getWorld();
            mundo.removeObject(bala1);
        }
        if(bala2!=null)
        {
            HP=HP-20;
            World mundo=this.getWorld();
            mundo.removeObject(bala2);
        }
        if(bala3!=null)
        {
            HP=HP-100;
            World mundo=this.getWorld();
            mundo.removeObject(bala3);
        }
        
        return true;
    }
}
